package com.ruoyi.common.utils;

/**
 * 类功能描述：数据脱敏
 *
 * @author ling
 * &#064;date  2024/07/26 09:47
 */
public class DataMask {
    /**
     * 功能描述：对电话号码脱敏
     *
     * @param phoneNumber
     * @return {@link String }
     * @author ling
     * &#064;date  2024/07/26 09:47
     */
    public static String maskPhoneNumber(String phoneNumber) {
        //  如过手机号码小于11位，直接返回
        if (phoneNumber == null || phoneNumber.length() != 11) {

            return phoneNumber;
        }
        int visiblePart = 4; // 保留最后四位可见
        int totalLength = phoneNumber.length();
        int maskedPart = totalLength - visiblePart;

        StringBuilder maskedNumber = new StringBuilder();
        maskedNumber.append(phoneNumber.substring(0, 3)); // 保留前三位
        maskedNumber.append("****"); // 中间用星号替换
        maskedNumber.append(phoneNumber.substring(totalLength - visiblePart));

        return maskedNumber.toString();
    }

}
